home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / t_os / tool / tokei / watch386.bas < prev    next >
BASIC Source File  |  1994-11-16  |  4KB  |  117 lines

  1. 1000 'save"WATCH386.bas",a
  2. 1010 :::::::::::::::::::::::::::::::::::::
  3. 1020 :::  '時計 - ランダム表示 -        ::
  4. 1030 :::     'ver0.91    1994/8/16      ::
  5. 1040 ::: 'programed by akihiko Hayashi  ::
  6. 1050 :::::::::::::::::::::::::::::::::::::
  7. 1060 VIEW (0,0)-(639,479)
  8. 1065 WINDOW (0,0)-(639,479)
  9. 1070 ::::::::::::: '設定 :::::::::::::::::
  10. 1080 CLS
  11. 1090 DIM TKI(2),XX(2),YY(2),QX(2),QY(2)
  12. 1100 DIM CX(100),CY(100),CR(100),CL(100),R(100)
  13. 1110 MY=3.14159!*2:H=0:M=0:QQ=1:SQ=1:Q=-1:T=0:L=1
  14. 1120 :::::::::::::::::::::::::::::::::::::
  15. 1130 GOSUB *GAMEN2    '画面描画        ::
  16. 1140 :::::::::::::::::::::::::::::::::::::
  17. 1150 *MAIN::: 'メインル-チン  :::::::::::
  18. 1155 ::  FOR I=0 TO 100
  19. 1160 ::GOSUB *RANSUU  '乱数計算
  20. 1165 ::GOSUB *NOW     '現在時刻
  21. 1166 ::GOSUB *TOKEIBAN
  22. 1167 :: IF CM=3 OR CM=5 THEN GOSUB *MOJIBAN
  23. 1170 :'GOSUB *MOJIBAN '文字盤表示
  24. 1180 ::GOSUB *HARI    '針の描画
  25. 1182 IF (I MOD 10)=0 THEN 1183 ELSE 1185
  26. 1183 FOR P=0 TO 7 : COLOR=(P,P) : NEXT P : GOTO 1190
  27. 1185 IF (I MOD 2)=0 THEN COLOR=(CP1,CP2)
  28. 1190 ::  NEXT I
  29. 1200 :::   GOTO *MAIN
  30. 1210 :::::::::::::::::::::::::::::::::::::
  31. 1220 '
  32. 2000 :::::::::::::::::::::::::::::::::::::
  33. 2010 *RANSUU '乱数計算                  ::
  34. 2020 :::::::::::::::::::::::::::::::::::::
  35. 2030 RANDOMIZE TIME-(INT(TIME/1000)*1000)
  36. 2040 CX(I)=INT(RND*619)+10
  37. 2050 CY(I)=INT(RND*219)+10
  38. 2060 CR(I)=INT(RND*100)+5
  39. 2062 CL(I)=INT(RND*6)+1
  40. 2065 CM=INT(RND*9)
  41. 2066 CP1=INT(RND*7)
  42. 2067 CP2=INT(RND*5)+2
  43. 2070  RETURN
  44. 2080 :::
  45. 2500 :::::::::::::::::::::::::::::::::::::
  46. 2510 *NOW   '現在時刻                   ::
  47. 2520 :::::::::::::::::::::::::::::::::::::
  48. 2530 H=VAL(LEFT$(TIME$,2))
  49. 2535   IF H=>13 THEN H=H-12
  50. 2540 M=VAL(MID$(TIME$,4,2))
  51. 2545 S=VAL(RIGHT$(TIME$,2))
  52. 2550  RETURN
  53. 3000 *TOKEIBAN::::::::::::::::::::::::::::
  54. 3010 :::::::::::::::::::::::::::::::::::::
  55. 3020 CIRCLE (CX(I)+1,CY(I)*2),CR(I),CL(I),,,,F
  56. 3030 CIRCLE (CX(I)+1,CY(I)*2),CR(I)+1,1
  57. 3040 CIRCLE (CX(I)+1,CY(I)*2),CR(I)+2,1
  58. 3045 'PAINT(CX(I),CY(I)*2),CL(I),1
  59. 3050 XX(1)=CX(I) :YY(1)=CY(I)
  60. 3060 XX(2)=CX(I)-9 :YY(2)=CY(I)
  61. 3070 RETURN
  62. 3100 *MOJIBAN:::::::::::::::::::::::::::::
  63. 3110 :::::::::::::::::::::::::::::::::::::
  64. 3120 FOR J=1 TO 60
  65. 3130 IF (J MOD 5)=0 THEN RR=1 ELSE RR=0
  66. 3140 IF J=60 OR J=30 OR J=15 OR J=45 THEN RR=3
  67. 3141 X1= SIN(U+J/60*MY)*4.8!*39*CR(I)/190       :X1=X1+CX(I)
  68. 3142 Y1=-COS(U+J/60*MY)*2.15!*39*CR(I)/190      :Y1=Y1+CY(I)
  69. 3143 X2= SIN(U+J/60*MY)*4.8!*(38-RR)*CR(I)/190  :X2=X2+CX(I)
  70. 3144 Y2=-COS(U+J/60*MY)*2.15!*(38-RR)*CR(I)/190 :Y2=Y2+CY(I)
  71. 3145 IF (J MOD 5)=0 THEN C=0 ELSE C=7
  72. 3147 IF CM=5 AND (J MOD 5)=0 THEN 3150 ELSE 3180
  73. 3150 LINE(X2,Y2*2)-(X1,Y1*2),PSET,C
  74. 3160 LINE(X2+1,Y2*2)-(X1+1,Y1*2),PSET,C
  75. 3170 LINE(X2,Y2*2+1)-(X1,Y1*2+1),PSET,C
  76. 3180 NEXT
  77. 3190  RETURN
  78. 3200 '
  79. 3560 *HARI '::針の描画::::::::::::::::::::
  80. 3565 :::::::::::::::::::::::::::::::::::::
  81. 3570 TKI(1)=M :HARI=1 :CL=1 :R(I)=34*CR(I)/190 '長針
  82. 3580 GOSUB *HARINOITI
  83. 3590 TKI(2)=H MOD 12 :TKI(2)=(TKI(2)+TKI(1)/60)*5
  84. 3600 HARI=2 :CL=1 :R(I)=25*CR(I)/190           '短針
  85. 3610 GOSUB *HARINOITI
  86. 3615 TKI(1)=S
  87. 3616 HARI=1 : CL=CL(I) : R(I)=35*CR(I)/190
  88. 3617 GOSUB *HARINOITI
  89. 3620 CIRCLE (CX(I),CY(I)*2),2,1,,,,F
  90. 3630 QQ=1
  91. 3660  RETURN
  92. 3670 *HARINOITI '::針の位置計算:::::
  93. 3675 :::::::::::::::::::::::::::::::
  94. 3680 X=SIN(TKI(HARI)/60*MY)*4.8!*R(I) :X=X+CX(I)
  95. 3690 Y=-COS(TKI(HARI)/60*MY)*2.15!*R(I) :Y=Y+CY(I)
  96. 3810 LINE (CX(I)-1,CY(I)*2)-(X-1,Y*2),PSET,CL
  97. 3820 LINE (CX(I),CY(I)*2+1)-(X,Y*2+1),PSET,CL
  98. 3830 LINE (CX(I),CY(I)*2-1)-(X,Y*2-1),PSET,CL
  99. 3840 LINE (CX(I)+1,CY(I)*2)-(X+1,Y*2),PSET,CL
  100. 3850 LINE (CX(I)-1,CY(I)*2-1)-(X-1,Y*2-1),PSET,CL
  101. 3860 LINE (CX(I)+1,CY(I)*2+1)-(X+1,Y*2+1),PSET,CL
  102. 3870 LINE (CX(I),CY(I)*2)-(X,Y*2),PSET,7
  103. 3880 XX(HARI)=X :YY(HARI)=Y
  104. 3940 RETURN
  105. 10000 *GAMEN ::::::::::::::::::::::::::::::::::
  106. 10005 FOR I=0 TO 199 STEP 2
  107. 10007 CLLL=I MOD 6
  108. 10010  LINE(0+I*319/239,0+I)-(639-I*319/239,399-I),PSET,CLLL,B
  109. 10015 NEXT I
  110. 10020  RETURN
  111. 11000 *GAMEN2 :::::::::::::::::::::::::::::::::
  112. 11005 FOR I=0 TO 319
  113. 11007 CLLL=I MOD 6
  114. 11010  CIRCLE(319,239),319-I,CLLL,.7!
  115. 11015 NEXT I
  116. 11020  RETURN
  117.